Generating schedules for employees is a complex problem for many enterprises. Such an enterprise is an outbound call center, in which scheduling of employees can be a complex task with a large number of variables. Variables include lists of numbers to call, available staff, skills of various staff members, call type (e.g., new order call and customer service call), and number of call queues, where a queue may be assigned a particular call type.
A basic goal of call center scheduling is to minimize the cost of agents that are staffed while maximizing quality of service. One common metric for call service level is the percentage of the lists that are contacted.
To complicate scheduling of agents further, not all agents have the same skills. Thus, some agents can handle some calls while other agents cannot. Scheduling for varying agent skill sets, therefore, is a skill-based scheduling problem. This skill-based scheduling problem is considerably more difficult than a basic call center scheduling problem because of all the interactions between calling queues.
Recently, call centers have evolved into “contact centers” in which the agent's contact with the customer can be through many contact media. For example, a contact center may handle incoming telephone, email, web callback, web chat, fax, and voice over Internet protocol (IP) communications. Therefore, in addition to variation in the types of calls (e.g., collections call, order call), modern contact centers have the complication of variation in contact media, which also adds complexity to the agent scheduling process.
In this regard, different types of calls are typically placed onto different queues. By way of example, outbound calls may be placed in an outbound call queue, while inbound calls may be placed in an inbound call queue. Such an inbound call queue typically is managed by an automatic call distributor (ACD), whereas an outbound call queue typically is managed by a predictive dialer. Notably, scheduling of agents for handling of calls, whether inbound or outbound, is based on various factors, such as call forecasts and goals. However, the forecasts and goals used for scheduling of agents for inbound calls are not the same as those used for scheduling of agents for outbound calls.